package com.mingqijia.gassafety.db.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.mingqijia.gassafety.db.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * <p>
 * 预警记录
 * </p>
 *
 * @author zhangfei  
 * @since 2022-03-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_gss_warning_record")
@ApiModel(value="WarningRecord对象", description="预警记录")
public class WarningRecord extends BaseEntity {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "父级id ")
    @TableField("parent_id")
    private Long parentId;

    @ApiModelProperty(value = "通知开始时间 ")
    @TableField("start_time")
    private Date startTime;

    @ApiModelProperty(value = "通知结束时间")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty(value = "报警开始时间")
    @TableField("warning_start_time")
    private Date warningStartTime;

    @ApiModelProperty(value = "报警客户")
    @TableField("consumer_id")
    private String consumerId;

    @ApiModelProperty(value = "触发规则")
    @TableField("trigger_rule_id")
    private String triggerRuleId;

    @ApiModelProperty(value = "设备号")
    @TableField("iMEI")
    private String iMEI;

    @ApiModelProperty(value = "上级设备号")
    @TableField("sup_iMEI")
    private String supIMEI;

    @ApiModelProperty(value = "状态：0执行中 1手动暂停 2报警解除，系统暂停")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "当前任务唯一识别码")
    @TableField("task_identification_code")
    private String taskIdentificationCode;

    @ApiModelProperty(value = "气体浓度")
    @TableField("concentration")
    private String concentration;

    @ApiModelProperty(value = "报警类型 1低报 2高报")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "发送类型： 1短信 2本地消息中心 3微信模板消息 4外呼',5短信提醒")
    @TableField("send_type")
    private Integer sendType;

    @ApiModelProperty(value = "级别 1-10，数字越大级别越高,默认0")
    @TableField("obj_level")
    private Integer objLevel;

    @ApiModelProperty(value = "发送结果：0发送成功，1发送失败")
    @TableField("send_result")
    private Integer sendResult;

    @ApiModelProperty(value = "记录内容")
    @TableField("content")
    private String content;

    @ApiModelProperty(value = "0启用1禁用")
    @TableField("is_disabled")
    private Integer isDisabled;

    @ApiModelProperty(value = "备注说明")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "回执编码")
    @TableField("receipt_code")
    private String receiptCode;

    @ApiModelProperty(value = "通知对象的基本信息")
    @TableField("notify_obj_info")
    private String notifyObjInfo;

    @ApiModelProperty(value = "当前数据推送的手机号")
    @TableField("push_phone")
    private String pushPhone;

    @ApiModelProperty(value = "通知对象类型：0客户 1 企业员工 2 微信（openId）3 额外手机号")
    @TableField("notify_obj_type")
    private Integer notifyObjType;

    @ApiModelProperty(value = "通知来源 0:报警策略 1:本地消息通知")
    @TableField("notify_from")
    private Integer notifyFrom;

    @ApiModelProperty(value = "通知来源 0:报警策略 1:本地消息通知")
    @TableField("operator_by")
    private String operatorBy;
}
